<test>
    <settings>
        <max_size_to_preallocate_for_aggregation>1000000000</max_size_to_preallocate_for_aggregation>
    </settings>

    <substitutions>
        <substitution>
            <name>table_name</name>
            <values>
                <value>hits_100m_single</value>
            </values>
        </substitution>

        <substitution>
            <name>numbers_threshold_value</name>
            <values>
                <value>5000000</value>
                <value>10000000</value>
            </values>
        </substitution>
    </substitutions>

    <query>SELECT number FROM numbers({numbers_threshold_value}) GROUP BY number FORMAT Null</query>
    <query>SELECT number FROM numbers_mt({numbers_threshold_value}) GROUP BY number FORMAT Null</query>
    <query>SELECT number FROM numbers_mt({numbers_threshold_value}) GROUP BY number FORMAT Null</query>
    <query>WITH number % 524289 AS k, toUInt64(k) AS k1, k1 + 1 AS k2 SELECT k1, k2, count() FROM numbers({numbers_threshold_value}) GROUP BY k1, k2 FORMAT Null</query>
    <query>SELECT number FROM numbers_mt({numbers_threshold_value}) GROUP BY number FORMAT Null SETTINGS group_by_two_level_threshold = 1e12, group_by_two_level_threshold_bytes = 1e12</query>

    <query>SELECT WatchID FROM {table_name} GROUP BY WatchID FORMAT Null</query>
    <query>SELECT ClientIP AS x, x - 1, x - 2, x - 3, count() AS c FROM {table_name} GROUP BY x, x - 1, x - 2, x - 3 ORDER BY c DESC LIMIT 10</query>
    <query>SELECT WatchID, ClientIP, count() AS c, sum(Refresh), avg(ResolutionWidth) FROM {table_name} WHERE SearchPhrase != '' GROUP BY WatchID, ClientIP ORDER BY c DESC LIMIT 10</query>
    <query>SELECT min(MobilePhoneModel) FROM {table_name} WHERE MobilePhoneModel != '' GROUP BY intHash32(UserID) % 1000000 FORMAT Null</query>
</test>
